package com.fiap.to;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.PrePersist;
import javax.persistence.Table;

import org.hibernate.annotations.GenericGenerator;


@Entity
@Table(name = "AM_MODELO_CARRO")
public class ModeloCarroTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	@Id
	@GenericGenerator(name = "seq_modelo_carro", strategy = "increment")
	@Column(name = "ID_MODELO")
	private int id_modelo;
	@ManyToOne
	@JoinColumn(name="ID_MARCA")
	private MarcaTO marca;
	@Column(length = 20)
	private String modelo;
	@OneToOne
	@JoinColumn(name = "ID_MANUAL")
	private ManualTO manual;

	@PrePersist
	private void executaAntesDePersistir() {
		System.out.println("Persistindo...");
	}

	/**
	 * 
	 */
	public ModeloCarroTO() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param id
	 * @param marca
	 * @param modelo
	 * @param manual
	 */
	public ModeloCarroTO(int id_modelo, MarcaTO marca, String modelo,
			ManualTO manual) {
		super();
		this.id_modelo = id_modelo;
		this.marca = marca;
		this.modelo = modelo;
		this.manual = manual;
	}

	public int getId_modelo() {
		return id_modelo;
	}

	public void setId_modelo(int id_modelo) {
		this.id_modelo = id_modelo;
	}

	public MarcaTO getMarca() {
		return marca;
	}

	public void setMarca(MarcaTO marca) {
		this.marca = marca;
	}

	public String getModelo() {
		return modelo;
	}

	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	public ManualTO getManual() {
		return manual;
	}

	public void setManual(ManualTO manual) {
		this.manual = manual;
	}

}
